<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:c="livcos.org/ns/cosmos"
  xmlns:m="livcos.org/ns/map"
  xmlns:f="livcos.org/ns/xslt/function"
  exclude-result-prefixes="f m c">
  
  <xsl:import href="../../../style/base.xsl"/>
  
  <xsl:output method="text"/>

  <xsl:param name="uri"/>
  <xsl:param name="map" select="'/livcos.org/Map/data/WebMap'"/>
  
  <xsl:template match="/">
    <xsl:variable name="obj"
      select="if ((normalize-space($uri) != '') and doc-available($uri)) then document($uri)/* else /.."/>
    <xsl:choose>
      <xsl:when test="$obj/m:body/m:item">
        <xsl:text>[</xsl:text>
        <xsl:apply-templates select="$obj/m:body/m:item"/>
        <xsl:text>]</xsl:text>
      </xsl:when>
      <xsl:when test="(normalize-space($map) != '') and doc-available($map)">
        <xsl:text>[</xsl:text>
        <xsl:apply-templates select="document($map)/*/m:body/m:item"/>
        <xsl:text>]</xsl:text>
      </xsl:when>
      <xsl:otherwise>
        <xsl:text>map '</xsl:text>
        <xsl:value-of select="$map"/>
        <xsl:text>' not found!</xsl:text>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
  
  <xsl:template match="m:*">
    <xsl:if test="position() > 1">,</xsl:if>
    <xsl:text>'</xsl:text>
    <xsl:value-of select="normalize-space(replace(replace(m:label, '''', '\\'''), '\n', ' '))"/>
    <xsl:text>'</xsl:text>
  </xsl:template>
  
</xsl:stylesheet>
